package com.jrx.anytxn.transaction.dto.transactionLog;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 还款流水res
 *
 * @author yf
 * date 2020/7/28 0028
 * @version V1.0
 **/
public class TlPaymentLogRes implements Serializable {

    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 流水号
     * 表字段:seq_no
     */
    private String seqNo;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 还款类型(pay = 正常还款 prepay = 提前还款  prepayCurr = 提前还当期 pretermination = 提前结清 overdue = 逾期还款)
     * 表字段:payment_type
     */
    private String paymentType;

    /**
     * 扣款种类(0=按订单扣款 1=按客户扣款)
     * 表字段:charge_type
     */
    private String chargeType;

    /**
     * 联合贷标识(0 = 否 1 = 是)
     * 表字段:joint_loan_flag
     */
    private String jointLoanFlag;

    /**
     * 是否足额扣款(0=不足额 1=足额)
     * 表字段:is_full_pay
     */
    private String isFullPay;

    /**
     * 汇款金额
     * 表字段:amount
     */
    private BigDecimal amount;

    /**
     * 客户姓名
     * 表字段:customer_name
     */
    private String customerName;

    /**
     * 扣款行号
     * 表字段:payer_bank
     */
    private String payerBank;

    /**
     * 扣款行名称
     * 表字段:payer_bank_name
     */
    private String payerBankName;

    /**
     * 扣款账号
     * 表字段:payer_account
     */
    private String payerAccount;

    /**
     * 扣款账户类型: 0 = 本行二类户 1 = 本行借记卡 2 = 他行借记卡
     * 表字段:payer_account_type
     */
    private String payerAccountType;

    /**
     * 手机
     * 表字段:mobile
     */
    private String mobile;

    /**
     * 交易说明
     * 表字段:description
     */
    private String description;

    /**
     * 账户可用余额(核心返回)
     * 表字段:avail_balance
     */
    private BigDecimal availBalance;

    /**
     * 币种
     * 表字段:currency
     */
    private String currency;

    /**
     * 现金项目
     * 表字段:cash_item
     */
    private String cashItem;

    /**
     * 生效日期
     * 表字段:effect_date
     */
    private String effectDate;

    /**
     * 还款请求id
     * 表字段:pay_id
     */
    private String payId;

    /**
     * 交易参考号(核心/支付返回)
     * 表字段:ref_no
     */
    private String refNo;

    /**
     * 交易返回码
     * 表字段:return_code
     */
    private String returnCode;

    /**
     * 交易返回信息
     * 表字段:return_msg
     */
    private String returnMsg;

    /**
     * 交易状态
     * 表字段:return_status
     */
    private String returnStatus;

    /**
     * 最终状态 S 成功;F 失败;T 扣款成功，待分配;D 待发起扣款;O 已发起扣款，扣款状态未知，待查询
     * 表字段:sum_status
     */
    private String sumStatus;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 业务日期
     * 表字段:business_date
     */
    private Date businessDate;

    /**
     * 对账日期
     * 表字段:collate_date
     */
    private Date collateDate;

    /**
     * 交易发起时间
     * 表字段:launch_time
     */
    private Date launchTime;

    /**
     * 支付完成时间
     * 表字段:complete_time
     */
    private Date completeTime;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 灰度版本（P生产  G灰度）
     * 表字段:gray_version
     */
    private String grayVersion;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getSeqNo() {
        return seqNo;
    }

    public void setSeqNo(String seqNo) {
        this.seqNo = seqNo;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    public String getJointLoanFlag() {
        return jointLoanFlag;
    }

    public void setJointLoanFlag(String jointLoanFlag) {
        this.jointLoanFlag = jointLoanFlag;
    }

    public String getIsFullPay() {
        return isFullPay;
    }

    public void setIsFullPay(String isFullPay) {
        this.isFullPay = isFullPay;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getPayerBank() {
        return payerBank;
    }

    public void setPayerBank(String payerBank) {
        this.payerBank = payerBank;
    }

    public String getPayerBankName() {
        return payerBankName;
    }

    public void setPayerBankName(String payerBankName) {
        this.payerBankName = payerBankName;
    }

    public String getPayerAccount() {
        return payerAccount;
    }

    public void setPayerAccount(String payerAccount) {
        this.payerAccount = payerAccount;
    }

    public String getPayerAccountType() {
        return payerAccountType;
    }

    public void setPayerAccountType(String payerAccountType) {
        this.payerAccountType = payerAccountType;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public BigDecimal getAvailBalance() {
        return availBalance;
    }

    public void setAvailBalance(BigDecimal availBalance) {
        this.availBalance = availBalance;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCashItem() {
        return cashItem;
    }

    public void setCashItem(String cashItem) {
        this.cashItem = cashItem;
    }

    public String getEffectDate() {
        return effectDate;
    }

    public void setEffectDate(String effectDate) {
        this.effectDate = effectDate;
    }

    public String getPayId() {
        return payId;
    }

    public void setPayId(String payId) {
        this.payId = payId;
    }

    public String getRefNo() {
        return refNo;
    }

    public void setRefNo(String refNo) {
        this.refNo = refNo;
    }

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public String getReturnMsg() {
        return returnMsg;
    }

    public void setReturnMsg(String returnMsg) {
        this.returnMsg = returnMsg;
    }

    public String getReturnStatus() {
        return returnStatus;
    }

    public void setReturnStatus(String returnStatus) {
        this.returnStatus = returnStatus;
    }

    public String getSumStatus() {
        return sumStatus;
    }

    public void setSumStatus(String sumStatus) {
        this.sumStatus = sumStatus;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Date getBusinessDate() {
        return businessDate;
    }

    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }

    public Date getCollateDate() {
        return collateDate;
    }

    public void setCollateDate(Date collateDate) {
        this.collateDate = collateDate;
    }

    public Date getLaunchTime() {
        return launchTime;
    }

    public void setLaunchTime(Date launchTime) {
        this.launchTime = launchTime;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public String getGrayVersion() {
        return grayVersion;
    }

    public void setGrayVersion(String grayVersion) {
        this.grayVersion = grayVersion;
    }
}